package com.lyz.dataStructure.sust;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Scanner;

/*
期末考试快要到了，但是每个同学学的科目太多啦。学校为了给同学们早点放假回家，
 m 门科目进行考试。所选考试的科目的平均分就可以作为该学年的总学习成绩。
对于每一个同学来说，该同学所学的科目数为n，而学校要求只需要该同学在n门科目中选出m门课进行考试，
考试科目的平均成绩可以作为该学年的总成绩。
而每一个同学所学的科目中，每个老师对于该同学的喜爱程度不同。
期末考试中，任课老师给该同学评分依据老师对该同学的喜爱程度(喜爱程度的数值就是该科目的考试成绩)。
同学们非常苦恼，你能帮同学们算出他们在期末考试里可以获得的最高的总成绩吗？

输入
输入数据第一行为T（1 <= T <= 100），表示你需要帮助的同学个数(测试样例个数)。
每个测试样例为两行。

第一行为两个正整数 n m（1 <=m <= n <= 10），表示该同学在这一学年中总共学习了n门科目，在期末考试中需要选择m门科目进行考试。
第二行为n个正整数表示，ni表示第i门科目的任课老师对该同学的喜爱程度。

输出
每行输出一个小数(保留两位小数)表示该同学在期末考试中可以获得的最高总成绩。
样例输入
3
1 1
100
5 3
100 80 85 90 97
6 2
100 100 100 100 100 100
样例输出
100.00
95.67
100.00
 */
public class Test7 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<String> arrayList = new ArrayList<>();
        DecimalFormat df = new DecimalFormat("0.00");
        String average = "";
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            int[] arr = {sc.nextInt(), sc.nextInt()};
            int[] arr1 = new int[arr[0]];
            int j;
            for (j = 0; j <= arr1.length - 1; j++) {
                arr1[j] = sc.nextInt();
                sort(arr1);
            }
            double num =0;
            for (int z =0; z <arr[1]; z++) {

                num = num + arr1[z];
            }
            average=(df.format(num / arr[1]));
            arrayList.add(average);
        }
        for (int x = 0; x <= arrayList.size() - 1; x++) {
            System.out.println(arrayList.get(x));
        }
    }

    public static int[] sort(int[] arr){
        int mub;
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j + 1] > arr[j]) {
                    mub = arr[j + 1];
                    arr[j + 1] = arr[j];
                    arr[j] = mub;
                }
            }
        }
        return arr;
    }
}
